handling timeout in .net core